#!/usr/bin/env python
# -*- coding:utf-8 -*-
'''
@File    :   python_requires.py
@Time    :   2025/01/03 00:29:39
@Author  :   xiangyu Chen
@Version :   1.0
@Contact :   yu112yu@sina.com
@License :   (C)Copyright 2017-2018, Liugroup-NLPR-CASIA
@python_requires    :   None
@Desc    :   Python 如何编写能够正确要求最低 Python 版本的 Python 代码
'''

# 方式一：Python 内置的sys模块
import sys

MIN_PYTHON = (3, 9)  # 要求的最低 Python 版本

if sys.version_info < MIN_PYTHON:  # 低于要求时退出程序并打印： Python 版本必须大于等于 3.9
    sys.exit("Python 版本必须大于等于 {}.{}".format(*MIN_PYTHON))
    # raise RuntimeError("ERROR: Python 版本必须大于等于 3.7") # 或者直接抛异常

'''
    方式二：setup.py 文件中指定.
    使用install_requires参数来指定项目依赖的软件包.
    使用python_requires参数，我们可以指定最低的 Python 版本，这里为3.7。
    当我们使用setuptools构建和安装软件包时，会自动检查当前 Python 解释器的版本并进行相应的处理。
from setuptools import setup

setup(
    name='your_package_name',
    version='1.0',
    install_requires=[
        "python_requires >= '3.7'"
    ],
)
'''

'''
    方式三：使用pipenv.
    在项目的Pipfile文件中进行配置。
    使用python_version参数来指定要求的最低 Python 版本。
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
python_version = "3.7"

[dev-packages]

[requires]
python_version = "3.7"
'''
